package com.hczt.fire.server.backend.sys.service;

import com.hczt.fire.entity.sys.SysRole;
import com.hczt.fire.framework.jpa.repository.support.PagedQuery;
import com.hczt.fire.server.common.page.PageInfo;

import java.util.List;

/**
 * @author marvin.ma
 * @create 2017-10-18 22:56
 * @desc 角色管理业务接口
 **/
public interface SysRoleService {

    /**
     * 分页获取角色列表
     * @param pageInfo
     * @return
     */
    PagedQuery<SysRole> getRoleList(PageInfo pageInfo);

    /**
     * 根据角色名称查询角色数据
     * @param name
     * @return
     */
    SysRole findByName(String name);

    /**
     * 查询用户属于什么角色
     * @param userId
     * @return
     */
    List<SysRole> findByUserId(Long userId);

    /**
     * 查找全部角色
     */
    List<SysRole> findAll();

    /**
     * 保存角色
     * @param role
     */
    void save(SysRole role);

    /**
     * 通过主键查询记录
     * @param id
     * @return
     */
    SysRole findById(Long id);
}
